Skip to content

Gaps find udpate#2

Open
nkhristinin wants to merge 22 commits into
gaps-update-find-apifrom
gaps-find-udpate
Open

Gaps find udpate#2
nkhristinin wants to merge 22 commits into
gaps-update-find-apifrom
gaps-find-udpate

Conversation

@nkhristinin
Copy link
Copy Markdown
Owner

Summary

Summarize your PR. If it involves visual changes include a screenshot or gif.

Checklist

Delete any items that are not applicable to this PR.

Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release.

When forming the risk matrix, consider some of the following examples and how they may potentially impact the change:

Risk Probability Severity Mitigation/Notes
Multiple Spaces—unexpected behavior in non-default Kibana Space. Low High Integration tests will verify that all features are still supported in non-default Kibana Space and when user switches between spaces.
Multiple nodes—Elasticsearch polling might have race conditions when multiple Kibana nodes are polling for the same tasks. High Low Tasks are idempotent, so executing them multiple times will not result in logical error, but will degrade performance. To test for this case we add plenty of unit tests around this logic and document manual testing procedure.
Code should gracefully handle cases when feature X or plugin Y are disabled. Medium High Unit tests will verify that any feature flag or plugin combination still results in our service operational.
See more potential risk examples

For maintainers

elasticmachine pushed a commit that referenced this pull request Jun 5, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [whatwg-fetch](https://redirect.github.com/github/fetch) |
dependencies | minor | [`^3.0.0` ->
`^3.6.20`](https://renovatebot.com/diffs/npm/whatwg-fetch/3.0.0/3.6.20)
|

---

### Release Notes

<details>
<summary>github/fetch (whatwg-fetch)</summary>

###
[`v3.6.20`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.19...v3.6.20)

##### Bug Fixes

- Response.error().ok === false
([#&elastic#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))
([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))

###
[`v3.6.19`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.18...v3.6.19)

##### Bug Fixes

- Have unique error messages for xhr timeouts and errors
([#&elastic#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))
([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))

###
[`v3.6.18`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3618)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.17...v3.6.18)

- Fix - File fetching broken since commit
[`0c1d2b9`](https://redirect.github.com/github/fetch/commit/0c1d2b9)
[`elastic#1375`](https://redirect.github.com/JakeChampion/fetch/pull/1375)
- Remove broken links
[`1dc07c6`](https://redirect.github.com/JakeChampion/fetch/commit/1dc07c6064a32e989306fb2324204c56c93140fe)
- automatically generate a changelog
[`0e7d1dd`](https://redirect.github.com/JakeChampion/fetch/commit/0e7d1dd95826b3b76510f0832784207f2609145e)

###
[`v3.6.17`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3617)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.16...v3.6.17)

> 20 July 2023

- Revert "Resolves
[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)"
[`elastic#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)

###
[`v3.6.16`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3616)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.15...v3.6.16)

> 18 July 2023

- Resolves
[https://github.com/JakeChampion/fetch/issues/928](https://redirect.github.com/JakeChampion/fetch/issues/928)
[`elastic#928`](https://redirect.github.com/JakeChampion/fetch/issues/928)

###
[`v3.6.15`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3615)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.14...v3.6.15)

> 18 July 2023

- fix
[https://github.com/JakeChampion/fetch/issues/997](https://redirect.github.com/JakeChampion/fetch/issues/997)
[`elastic#997`](https://redirect.github.com/JakeChampion/fetch/issues/997)

###
[`v3.6.14`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3614)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.13...v3.6.14)

> 18 July 2023

- Fix
[https://github.com/JakeChampion/fetch/issues/1076](https://redirect.github.com/JakeChampion/fetch/issues/1076)
[`elastic#1076`](https://redirect.github.com/JakeChampion/fetch/issues/1076)

###
[`v3.6.13`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3613)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.12...v3.6.13)

> 18 July 2023

- respect charset within readBlobAsText
[`elastic#1059`](https://redirect.github.com/JakeChampion/fetch/issues/1059)

###
[`v3.6.12`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3612)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.11...v3.6.12)

> 18 July 2023

- fix: Headers only accepts array which have nested array of length 2
[`elastic#1235`](https://redirect.github.com/JakeChampion/fetch/issues/1235)

###
[`v3.6.11`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3611)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.10...v3.6.11)

> 18 July 2023

- Define Body.arrayBuffer even if support.blob is false
[`elastic#992`](https://redirect.github.com/JakeChampion/fetch/issues/992)

###
[`v3.6.10`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v3610)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.9...v3.6.10)

> 18 July 2023

- use globals if they exist
[`dffc542`](https://redirect.github.com/JakeChampion/fetch/commit/dffc542fe7140f35ee7fec29e3da67f3bf080910)

###
[`v3.6.9`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v369)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.8...v3.6.9)

> 18 July 2023

- fix: when no body supplied, do not set bodyUsed to true
[`7d92dff`](https://redirect.github.com/JakeChampion/fetch/commit/7d92dff12d7c4058b57c7e77adeb0a76ffab639f)

###
[`v3.6.8`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v368)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.7...v3.6.8)

> 18 July 2023

- validate status is in range
[`elastic#1213`](https://redirect.github.com/JakeChampion/fetch/issues/1213)

###
[`v3.6.7`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v367)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.6...v3.6.7)

> 18 July 2023

- dont shadow `global`
[`elastic#1026`](https://redirect.github.com/JakeChampion/fetch/issues/1026)
- dont use github eslint
[`408d3b6`](https://redirect.github.com/JakeChampion/fetch/commit/408d3b60e27abef325dd898d899430c46a0012b2)
- remove invalid-headers test
[`e3f6590`](https://redirect.github.com/JakeChampion/fetch/commit/e3f65907924b7692af7c08cd92044456bc92ad8b)
- Update lock.yml permissions
[`e97321b`](https://redirect.github.com/JakeChampion/fetch/commit/e97321bc081e80275397fc4c7a990791aa8b3524)

###
[`v3.6.6`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v366)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.5...v3.6.6)

> 18 July 2023

- fix: ignore not throw on invalid response headers
[`elastic#930`](https://redirect.github.com/JakeChampion/fetch/issues/930)

###
[`v3.6.5`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v365)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.4...v3.6.5)

> 18 July 2023

- Add some missed methods which should be normalized as uppercase
[`a43b628`](https://redirect.github.com/JakeChampion/fetch/commit/a43b6283833c403230bb1a5238e2d7ac435c52da)
- Update caniuse link to use HTTPS and new pattern
[`fb5b0cf`](https://redirect.github.com/JakeChampion/fetch/commit/fb5b0cf42b470faf8c5448ab461d561f34380a30)

###
[`v3.6.4`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v364)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.3...v3.6.4)

> 18 July 2023

- always set a signal on Request
[`d1d09fb`](https://redirect.github.com/JakeChampion/fetch/commit/d1d09fb8039b4b8c7f2f5d6c844ea72d8a3cefe6)

###
[`v3.6.3`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v363)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.2...v3.6.3)

> 18 July 2023

- Compatible global equals to the false
[`7727e50`](https://redirect.github.com/JakeChampion/fetch/commit/7727e50493eafae9a7005f10f18f81e5bbcbfdd3)

###
[`v3.6.2`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3620-2023-12-13)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.1...v3.6.2)

##### Bug Fixes

- Response.error().ok === false
([#&elastic#8203;1412](https://redirect.github.com/JakeChampion/fetch/issues/1412))
([27e1c75](https://redirect.github.com/JakeChampion/fetch/commit/27e1c75f830f0b70a40b511e03652776951aca75))

###
[`v3.6.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#3619-2023-09-11)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.6.0...v3.6.1)

##### Bug Fixes

- Have unique error messages for xhr timeouts and errors
([#&elastic#8203;1380](https://redirect.github.com/JakeChampion/fetch/issues/1380))
([7170f0b](https://redirect.github.com/JakeChampion/fetch/commit/7170f0b127d16c5895aba61c9168482834809046))

###
[`v3.6.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v360)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.5.0...v3.6.0)

> 18 February 2021

- Fix statusText: undefined should give '' and null should give 'null'
[`b5c8bd0`](https://redirect.github.com/JakeChampion/fetch/commit/b5c8bd0fee1530f1c204cc5c68b427a3498dbdad)
- Represent non-stringified JSON request body as an \[object Object]
string
[`5c6b055`](https://redirect.github.com/JakeChampion/fetch/commit/5c6b055e6ae6f718f416c94bfcdc89693d0abdcb)
- Fix eslint and eslint-plugin-github dependency conflicts
[`190e698`](https://redirect.github.com/JakeChampion/fetch/commit/190e698f8e737ad751a11de60f6b8b3301fa557b)

###
[`v3.5.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v350)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.4.1...v3.5.0)

> 6 November 2020

- Fixes
[#&elastic#8203;748](https://redirect.github.com/github/fetch/issues/748)
[`elastic#748`](https://redirect.github.com/JakeChampion/fetch/issues/748)
- Create lock.yml
[`8767781`](https://redirect.github.com/JakeChampion/fetch/commit/87677811d543cfb44b124e026b50f710e95017ec)

###
[`v3.4.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v341)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.4.0...v3.4.1)

> 7 September 2020

- Add npmignore file to ensure we always publish the dist directory
[`7ca02eb`](https://redirect.github.com/JakeChampion/fetch/commit/7ca02eb0234b0a61fd711d922b2e69d3c5390516)
- Make the clean task remove the dist directory and the default task
create it
[`fd23745`](https://redirect.github.com/JakeChampion/fetch/commit/fd23745f3474cd23d88e5128d8bc74813be1aff0)

###
[`v3.4.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v340)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.3.1...v3.4.0)

> 7 August 2020

- Use globalThis as the global object if it exists
[`96c2651`](https://redirect.github.com/JakeChampion/fetch/commit/96c26512608a0081d493df4fc17da4394bd1b410)

###
[`v3.3.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v331)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.3.0...v3.3.1)

> 4 August 2020

- rename variable to no longer shadow over function of same name
[`c5db762`](https://redirect.github.com/JakeChampion/fetch/commit/c5db7621c3b1530683b8f706388d4ac210a2db02)
- remove semicolon to pass linting
[`f264aa5`](https://redirect.github.com/JakeChampion/fetch/commit/f264aa5704f7431c429ec16e6fdd3c7034c7f2d9)

###
[`v3.3.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v330)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.2.0...v3.3.0)

> 4 August 2020

- Make Response.arrayBuffer() always resolve with a `ArrayBuffer`
[`elastic#801`](https://redirect.github.com/github/fetch/issues/801)
- Stop using top-level `this` to stop rollup warning
[`elastic#802`](https://redirect.github.com/github/fetch/issues/802)
- Recommend an AbortController polyfill which is fully synchronous
[`elastic#800`](https://redirect.github.com/github/fetch/issues/800)
- Add keepalive caveat
[`elastic#780`](https://redirect.github.com/github/fetch/issues/780)
- Throw a TypeError if Request or Response functions are called without
`new`
[`5ef028d`](https://redirect.github.com/JakeChampion/fetch/commit/5ef028d61f6c1543603cdacbe0f8a0f00d5957c0)
- If headers are passed in via a Record then do not normalise the header
names as part of the request
[`b65ed60`](https://redirect.github.com/JakeChampion/fetch/commit/b65ed608604492d605df2d62cd4c5050e2a8d508)
- Update fetch.js
[`37b55c2`](https://redirect.github.com/JakeChampion/fetch/commit/37b55c27413b902cef4e629892424ae469fb1ea2)

###
[`v3.2.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v320)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.1.1...v3.2.0)

> 9 July 2020

- Detect if DOMException exists via typeof instead of trying to call it
and catching the exception which may get thrown
[`elastic#724`](https://redirect.github.com/github/fetch/issues/724)
- use `this` if `self` is not defined
[`elastic#657`](https://redirect.github.com/github/fetch/issues/657)
- create variable called `global` which is either `self` or `this`
[`a0783a5`](https://redirect.github.com/JakeChampion/fetch/commit/a0783a5571018191578cc08d5b3bac61a0b64562)
- Add support for no-cache and no-store via a cache-busting querystring
parameter
[`a0dcd85`](https://redirect.github.com/JakeChampion/fetch/commit/a0dcd853f8ed29d06a022f92c87c303bd0e1f1bf)
- make global `this` correct when using rollup
[`6e9fc0e`](https://redirect.github.com/JakeChampion/fetch/commit/6e9fc0ee026dd89d864c3d176c57789ee5615114)

###
[`v3.1.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v311)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.1.0...v3.1.1)

> 8 July 2020

- check if Content-Type header exists prior to examining the value
[`elastic#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)
- Move from Travis to GitHub Actions
[`elastic#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)

###
[`v3.1.0`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v310)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.0.1...v3.1.0)

> 29 June 2020

###
[`v3.0.1`](https://redirect.github.com/github/fetch/blob/HEAD/CHANGELOG.md#v301)

[Compare
Source](https://redirect.github.com/github/fetch/compare/v3.0.0...v3.0.1)

> 8 July 2020

- check if Content-Type header exists prior to examining the value
[`elastic#792`](https://redirect.github.com/JakeChampion/fetch/pull/792)
- Move from Travis to GitHub Actions
[`elastic#793`](https://redirect.github.com/JakeChampion/fetch/pull/793)
- Co-authored-by: Jake Champion \<me@jakechampion.name>
[`elastic#575`](https://redirect.github.com/JakeChampion/fetch/pull/575)
- work around IE XHR bug with '' URL Fixes
[#&elastic#8203;618](https://redirect.github.com/github/fetch/issues/618)
[`elastic#619`](https://redirect.github.com/JakeChampion/fetch/pull/619)
- Allow exclamation mark as valid header character
[`elastic#745`](https://redirect.github.com/JakeChampion/fetch/pull/745)
- Avoid blob conversion for specific requests
[`elastic#752`](https://redirect.github.com/JakeChampion/fetch/pull/752)
- Compatibility for fetch-mock using proxy-pollyfill
[`elastic#736`](https://redirect.github.com/JakeChampion/fetch/pull/736)
- Change default statusText for Response
[`elastic#698`](https://redirect.github.com/JakeChampion/fetch/pull/698)
- Document more common pitfalls in the README
[`elastic#734`](https://redirect.github.com/JakeChampion/fetch/pull/734)
- field name can not by empty
[`elastic#684`](https://redirect.github.com/JakeChampion/fetch/pull/684)
- work around IE XHR bug with '' URL Fixes
[#&elastic#8203;618](https://redirect.github.com/github/fetch/issues/618)
([#&elastic#8203;619](https://redirect.github.com/github/fetch/issues/619))
[`elastic#618`](https://redirect.github.com/JakeChampion/fetch/issues/618)
- Clarify what parts of the standard we don't want to implement
[`elastic#661`](https://redirect.github.com/JakeChampion/fetch/issues/661)
- Document more caveats
[`9a0bce2`](https://redirect.github.com/JakeChampion/fetch/commit/9a0bce23454cdd5beefd9d4c599664003573e581)
- Fix issue
[#&elastic#8203;533](https://redirect.github.com/github/fetch/issues/533)
[`7f030fa`](https://redirect.github.com/JakeChampion/fetch/commit/7f030fab4d79433204331cefe365f5fbbab9e992)
- Compatibility with newer eslint-plugin-github
[`1821b74`](https://redirect.github.com/JakeChampion/fetch/commit/1821b74b808152d4d6e787c21165f2d569c2a7c4)

#####
[v3.0.0](https://redirect.github.com/JakeChampion/fetch/compare/v2.0.4...v3.0.0)

> 7 September 2018

- Add flow definitions
[`elastic#654`](https://redirect.github.com/JakeChampion/fetch/pull/654)
- Match spec behavior re: unsupported body type
[`elastic#651`](https://redirect.github.com/JakeChampion/fetch/pull/651)
- Update Karma and detect available browsers when testing
[`elastic#652`](https://redirect.github.com/JakeChampion/fetch/pull/652)
- Adopt Contributor Covenant Code of Conduct
[`elastic#649`](https://redirect.github.com/JakeChampion/fetch/pull/649)
- Change `credentials` default value to `same-origin`
[`elastic#640`](https://redirect.github.com/JakeChampion/fetch/pull/640)
- Switch test suite from PhantomJS to Karma
[`elastic#626`](https://redirect.github.com/JakeChampion/fetch/pull/626)
- Support abort API
[`elastic#592`](https://redirect.github.com/JakeChampion/fetch/pull/592)
- build/distribute as UMD
[`elastic#616`](https://redirect.github.com/JakeChampion/fetch/pull/616)
- Test signal reuse. Add AbortSignal polyfill.
[`#2`](https://redirect.github.com/JakeChampion/fetch/pull/2)
- Clear abort event listener for all xhr completion states.
[`#1`](https://redirect.github.com/JakeChampion/fetch/pull/1)
- Expand install & importing documentation
[`elastic#569`](https://redirect.github.com/JakeChampion/fetch/issues/569)
- Match spec behavior re: unsupported body type
[`elastic#576`](https://redirect.github.com/JakeChampion/fetch/issues/576)
- Run test files through prettier
[`0a57487`](https://redirect.github.com/JakeChampion/fetch/commit/0a5748775d99f882172375693f56761383f8faf3)
- Unwrap `fetch.js` to be a clean module file
[`8aec47c`](https://redirect.github.com/JakeChampion/fetch/commit/8aec47cb6c67a9a321f1eb07457f70fc46235610)
- Switch from PhantomJS to Karma + Chrome/Firefox for testing
[`b539589`](https://redirect.github.com/JakeChampion/fetch/commit/b53958904649bfeb784083b9b7e0b89902c7d30e)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOk9wZXJhdGlvbnMiLCJiYWNrcG9ydDphbGwtb3BlbiIsInJlbGVhc2Vfbm90ZTpza2lwIl19-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Brad White <brad.white@elastic.co>
nkhristinin pushed a commit that referenced this pull request Aug 20, 2025
…re (#2… (elastic#229752)

Backport elastic#224393 to 8.19

---------

Co-authored-by: Cristina Amico <criamico@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
elasticmachine pushed a commit that referenced this pull request Oct 8, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [rison-node](https://redirect.github.com/w33ble/rison-node) |
dependencies | major | [`1.0.2` ->
`2.1.1`](https://renovatebot.com/diffs/npm/rison-node/1.0.2/2.1.1) |

---

### Release Notes

<details>
<summary>w33ble/rison-node (rison-node)</summary>

###
[`v2.1.1`](https://redirect.github.com/w33ble/rison-node/blob/HEAD/CHANGELOG.md#v211-4-June-2020)

[Compare
Source](https://redirect.github.com/w33ble/rison-node/compare/v2.1.0...v2.1.1)

- fix: handle keys that start with numbers
[`f0e10e3`](https://redirect.github.com/w33ble/rison-node/commit/f0e10e377bc328bfeb82e74c6498394612e6e4e6)

###
[`v2.1.0`](https://redirect.github.com/w33ble/rison-node/blob/HEAD/CHANGELOG.md#v210-1-November-2018)

[Compare
Source](https://redirect.github.com/w33ble/rison-node/compare/v2.0.0...v2.1.0)

- feat: add decode_uri method
[`#2`](https://redirect.github.com/w33ble/rison-node/pull/2)
- feat: add rison.unquote, use in decode_uri
[`41ba487`](https://redirect.github.com/w33ble/rison-node/commit/41ba487d05ba623ce8bcde5da96517df61e2e7ff)
- v2.1.0
[`71c9910`](https://redirect.github.com/w33ble/rison-node/commit/71c991021497c9ad229b289b6a4bd72672855c50)

###
[`v2.0.0`](https://redirect.github.com/w33ble/rison-node/blob/HEAD/CHANGELOG.md#v200-30-April-2018)

[Compare
Source](https://redirect.github.com/w33ble/rison-node/compare/v1.0.2...v2.0.0)

- v2.0.0
[`409eede`](https://redirect.github.com/w33ble/rison-node/commit/409eedecda2ced49f31c57bfe250ddefd24b5cfe)
- **Breaking:** feat: prevent quoting numeric keys
[`01e2be2`](https://redirect.github.com/w33ble/rison-node/commit/01e2be2fb546fdeea9f68cd5fd9087660cc1802c)

#####
[v1.0.2](https://redirect.github.com/w33ble/rison-node/compare/v1.0.1...v1.0.2)
(17 April 2018)

- docs: proper fork, update repo, add badges
[`667fc6c`](https://redirect.github.com/w33ble/rison-node/commit/667fc6cd6a3ef4022228dd5de6f1d8a28b153eba)
- 1.0.2
[`41f1f52`](https://redirect.github.com/w33ble/rison-node/commit/41f1f528c4102553fa55d3a7ee54ba5b1f312eeb)

#####
[v1.0.1](https://redirect.github.com/w33ble/rison-node/compare/v1.0.0...v1.0.1)
(17 April 2018)

- 1.0.1
[`df44524`](https://redirect.github.com/w33ble/rison-node/commit/df44524cc91690a4f1bd425ae434c6cc7e3fb6e0)
- docs: update readme
[`09bbabf`](https://redirect.github.com/w33ble/rison-node/commit/09bbabf3959d77bf26caa84f7221b3625992d27c)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOlNoYXJlZFVYIiwiYmFja3BvcnQ6YWxsLW9wZW4iLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==-->

---------

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Tim Sullivan <tsullivan@users.noreply.github.com>
Co-authored-by: Timothy Sullivan <tsullivan@elastic.co>
Co-authored-by: Krzysztof Kowalczyk <krzysztof.kowalczyk@elastic.co>
elasticmachine pushed a commit that referenced this pull request Oct 13, 2025
…gent is lost (elastic#237705)

## Summary

Since we use spot agents for our FTR tests, there are cases that some of
the configs are already run but due to agent lost, we will try all the
config of that group again. In this PR, we use Buildkite metadata config
to keep track of configs that are already executed, so that if the agent
is lost, we first check if there is a metadata for this config, if yes,
we will skip running that config.

For this logic to work, we also need to save the Scout events related to
each config after running each config instead of at the end of each
config group, to ensure if the agent is lost, we will keep the related
execution stats and events.

#### Expected improvement

|Build|Before|After|Improvement|
|---|---|---|---|

|[348415](https://buildkite.com/elastic/kibana-pull-request/builds/348415)|2h
25m (estimate)|1h 37m|saves 48 minutes (~33% faster)|

|[348229](https://buildkite.com/elastic/kibana-pull-request/builds/348229)|1h
39m|1h 10m (estimate)|saves 29 minutes (~30% faster)|

|[348223](https://buildkite.com/elastic/kibana-pull-request/builds/348223/waterfall)|2h
3m|1h 17m (estimate)| saves 46 minutes (~37% faster)|

In the last
[example](https://buildkite.com/elastic/kibana-pull-request/builds/348223/waterfall),
`FTR Configs #2` takes almost double the time because the agent is lost
when executing the last config.

<img width="2588" height="456" alt="image"
src="https://github.com/user-attachments/assets/992ffc6b-4412-47f9-9dd2-ecd5ff607358"
/>

Here is a video that illustrates the issue for this
[build](https://buildkite.com/elastic/kibana-pull-request/builds/348229):


https://github.com/user-attachments/assets/5f499f78-5841-40e7-8582-e761b885ed41



### 🧪 How to test

What I did was run a small portion of the tests in this
[build](https://buildkite.com/elastic/kibana-pull-request/builds/348316),
wait for one config to finish and report its stats, then cancel the
build and retry it to see if the new build would skip the completed
config as expected.

In this
[build](https://buildkite.com/elastic/kibana-pull-request/builds/348415),
it also improved `FTR Config 6`, although the previous failure was
"Exited with status 10" not agent loss.

- **Before**: 2h 25m (estimate)
- **After**: 1h 37m
- **Time saved**: 48 minutes (~33% faster)

<img width="2934" height="146" alt="image"
src="https://github.com/user-attachments/assets/88b7ad5a-46b1-42ad-9321-f33a81d89ee6"
/>
elasticmachine pushed a commit that referenced this pull request Mar 27, 2026
…#258775)

## Summary

Creates the foundation package `@kbn/evals-extensions` for advanced
evaluation capabilities. This package will house features ported from
cursor-plugin-evals and serve as the home for Phases 3-5 of the evals
roadmap.

## Architecture

**One-way dependency:**
- ✅ kbn-evals-extensions depends on kbn-evals
- ❌ kbn-evals has NO dependency on kbn-evals-extensions

Evaluation suites opt-in by importing from extensions directly.

## What's Included

✅ Package structure and build configuration
✅ Comprehensive documentation
✅ 5 passing unit tests
✅ CODEOWNERS entry
✅ No functional changes

## Validation

✅ Bootstrap, type check, tests, eslint, check_changes.ts all passed
✅ No circular dependencies

## Roadmap

This enables PRs #2-10 for cost tracking, dataset management, safety
evaluators, UI components, DX enhancements, analytics, A/B testing,
human-in-the-loop, and IDE integration.

## Related

- Part of elastic#257821 - Enables elastic#257823, elastic#257824, elastic#257825, elastic#257826
- Addresses elastic#255820

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Garrett Spong <garrett.spong@elastic.co>
elasticmachine pushed a commit that referenced this pull request Apr 2, 2026
Closes elastic#258318
Closes elastic#258319

## Summary

Adds logic to the alert episodes table to display `.alert_actions`
information.

This includes:
- New action-specific API paths.
- Snooze
  - **Per group hash.**
- Button in the actions column opens a popover where an `until` can be
picked.
  - **When snoozed**
    - A bell shows up in the status column.
- Mouse over the bell icon to see until when the snooze is in effect.
- Unsnooze
  - **Per group hash.**
  - Clicking the button removes the snooze.
- Ack/Unack
  - **Per episode.**
  - Button in the actions column
  - When "acked", an icon shows in the status column.
- Tags
- This PR only handles displaying tags. They need to be created via API.
- Resolve/Unresolve
  - **Per group hash.**
  - Button inside the ellipsis always
- The status is turned to `inactive` **regardless of the "real"
status.**

<img width="1704" height="672" alt="Screenshot 2026-03-25 at 16 04 12"
src="https://github.com/user-attachments/assets/5ef4111a-6e0c-4114-a60e-ce5f81a86ac6"
/>


## Testing


<details> <summary>POST mock episodes</summary>

```
POST _bulk
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:00:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:01:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "pending" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:02:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:03:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "inactive" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:04:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:05:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:06:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:07:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:08:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "active" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:09:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "recovering" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:10:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "recovering" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:11:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:12:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "recovering" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:13:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:14:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-003", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:15:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-003", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:16:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-4", "episode": { "id": "ep-004", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:17:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-4", "episode": { "id": "ep-004", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:18:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-4", "episode": { "id": "ep-004", "status": "recovering" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:19:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-4", "episode": { "id": "ep-004", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:20:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-5", "episode": { "id": "ep-005", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:21:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-5", "episode": { "id": "ep-005", "status": "pending" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:22:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-5", "episode": { "id": "ep-005", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:23:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-9", "episode": { "id": "ep-006", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:24:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-9", "episode": { "id": "ep-006", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:25:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-9", "episode": { "id": "ep-006", "status": "active" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:26:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "elasticgh-9", "episode": { "id": "ep-006", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:14:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-2" }, "group_hash": "elasticgh-7", "episode": { "id": "ep-007", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:15:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-2" }, "group_hash": "elasticgh-7", "episode": { "id": "ep-007", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:16:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-3" }, "group_hash": "elasticgh-8", "episode": { "id": "ep-008", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:17:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-3" }, "group_hash": "elasticgh-8", "episode": { "id": "ep-008", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:18:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-3" }, "group_hash": "elasticgh-8", "episode": { "id": "ep-008", "status": "recovering" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:20:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-4" }, "group_hash": "elasticgh-9", "episode": { "id": "ep-009", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:21:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-4" }, "group_hash": "elasticgh-9", "episode": { "id": "ep-009", "status": "pending" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:23:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-5" }, "group_hash": "elasticgh-10", "episode": { "id": "ep-010", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:24:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-5" }, "group_hash": "elasticgh-10", "episode": { "id": "ep-010", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:25:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-5" }, "group_hash": "elasticgh-10", "episode": { "id": "ep-010", "status": "active" }, "status": "no_data" }
```

</details>

- In the POST above, episodes 1 and 3, and episodes 6 and 9 have the
same group hashes.
- Go to `https://localhost:5601/app/observability/alerts-v2` and try all
buttons.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
elasticmachine pushed a commit that referenced this pull request Apr 13, 2026
…260054)

## Summary

issue: elastic/security-team#15982. (Resolves
requirement #2)

Enriches `SelectionContext` with step `values` so that
`PropertySelectionHandler` implementations (`search`, `resolve`,
`getDetails`) can access sibling property values from the current step
definition.

There are no existing steps using `context.values` yet — this is a
prerequisite for upcoming steps from the Cases team that need to read
sibling properties (e.g. `owner`) to scope their search/resolve logic.


### What changed

**`SelectionContext.values`** — A new `values` field (`{ config, input
}`) is populated from the step's YAML properties at the time
`search`/`resolve`/`getDetails` are called. Handlers can now read
sibling values like `context.values.input.owner` instead of having no
visibility into the rest of the step.

**YAML value extraction fix** — `getValueFromValueNode` now handles
non-scalar YAML nodes (arrays/sequences) via `.toJSON()`, fixing a bug
where array properties like `owner: [securitySolution]` appeared as
`undefined` in `context.values`.

**Example** — An example has been implemented in the
`examples.externalStep` from the _workflows_examples_ plugin (test with
`node scripts/kibana --dev --run-examples`)

### Demo


https://github.com/user-attachments/assets/b0cf18ae-5906-4561-bf5e-31b228b08a30

### Files changed

| Area | Files | Change |
|------|-------|--------|
| Shared types | `kbn-workflows/types/v1.ts`, `latest.ts` | Added
`StepSelectionValues` interface, `values` field on `SelectionContext`,
generic type parameters on 4 interfaces |
| Step registry | `workflows_extensions/.../step_registry/types.ts` |
Thread `Config`/`Input` schema types into `StepPropertyHandler` for
automatic inference |
| Value builder | `build_workflow_lookup.ts` | Added
`buildStepSelectionValues()` helper + fixed `getValueFromValueNode` for
non-scalar nodes |
| Context wiring | `collect_all_custom_property_items.ts`,
`get_custom_property_suggestions.ts` | Pass `values` when constructing
`SelectionContext` |
| Docs | `STEPS.md` | Updated `SelectionContext` type definition and
documented `context.values` |
| Tests | `build_workflow_lookup.test.ts`,
`validate_custom_properties.test.ts`,
`get_custom_property_suggestions.test.ts` | New tests for value building
(including arrays), updated assertions for new context shape |

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
elasticmachine pushed a commit that referenced this pull request May 26, 2026
elastic#270540)

## Release note
When using Kibana Spaces, the Synthetics monitor health endpoint could
incorrectly report monitors as unhealthy — showing errors such as
"missing location", "missing agent policy", or "missing package policy"
— even when everything was properly configured. This happened because
the health check was only looking for monitors, private locations, and
Fleet policies in the current space, missing resources that existed in
other spaces.

These issues are now fixed: the health check correctly resolves
monitors, private locations, package policies, and agent policies across
all relevant spaces, giving an accurate health status regardless of how
resources are distributed across your Kibana Spaces.


## Summary

Closes elastic#270477.

`POST /internal/synthetics/monitors/_health` returned wrong results when
monitors lived outside the request's space — `missing_package_policy`
errors when called from the monitor's space, and 404s when called from
`default`.

Two independent space-scoping bugs:

1. **Package policy lookup ignored space.**
`getExistingPackagePoliciesMap` called Fleet's
`packagePolicyService.getByIDs` with `createInternalRepository()`, which
is scoped to the default namespace. Package policies created for
monitors in another space were therefore invisible.
2. **Monitor saved-object lookup was space-scoped.**
`MonitorConfigRepository.get` used the request-scoped saved-objects
client, restricted to the request's space. Calling `_health` from
`default` for a monitor that lives elsewhere returned a 404.

## What changed

- **`PackagePolicyService.getByIds`** — accepts a new optional
`additionalSpaceIds`, so the wrapper's per-space scoped-client fan-out
can broaden beyond `[spaceId, default]`. Existing callers keep their old
behavior.
- **`MonitorConfigRepository.getAcrossSpaces(id, namespaces,
soClient?)`** — new method that resolves a monitor across an arbitrary
list of spaces. Uses the multi-space type's per-object `namespaces`
array in one bulkGet entry, plus one entry per namespace for the
`namespaceType: 'single'` legacy type. Accepts an injected `soClient` so
the health API can pass `createInternalRepository()` and bypass the
request's space restriction.
- **`MonitorIntegrationHealthApi`**:
- Computes `allSpaces = { requestSpace, ...allSpacesWithMonitors }`
once, up-front.
- `fetchMonitors` calls `monitorConfigRepository.getAcrossSpaces` with
the internal repository → fixes bug #2.
- `getExistingPackagePoliciesMap` uses the `PackagePolicyService`
wrapper with `additionalSpaceIds` → fixes bug #1.

## Test plan

- [x] `node scripts/jest` on the three affected suites — **77/77
passing** (includes new cross-space coverage and a new `getAcrossSpaces`
test block).
- [x] `node scripts/type_check --project
x-pack/solutions/observability/plugins/synthetics/tsconfig.json` —
clean.
- [x] `node scripts/eslint` on the changed files — clean.
- [ ] Manual: create a monitor with a private location in a non-default
space, then call `POST /internal/synthetics/monitors/_health` both from
that space and from `default`. Verify each call reports the monitor
accurately instead of `missing_package_policy` / 404.

## Related

- elastic#270137 — related health API fix (project monitor policy
ID + infinite polling).

Made with [Cursor](https://cursor.com)

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Miguel Martín <miguel.martin@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
elasticmachine added a commit that referenced this pull request May 29, 2026
Fixes elastic#261258
possibly also elastic#264565 (to be
verified)

## Summary

Add `meta: { id }` to Fleet body/response schemas

Files changed:

- `server/types/models/agent_policy.ts` — versioned policy schemas
(v3–v6), `new_agent_policy`, `agent_policy`, `agent_policy_response`,
`full_agent_policy`, outputs responses
- `server/types/rest_spec/agent_policy.ts` — bulk get, copy, delete,
full policy, K8s manifest, list outputs, cleanup task request/response
schemas
- `server/types/models/enrollment_api_key.ts `— `enrollment_api_key`
- `server/types/rest_spec/enrollment_api_key.ts` — enrollment key CRUD
and bulk delete schemas
- `common/types/models/package_policy_schema.ts `— all package policy
schemas: new, versioned (v22–v24), simplified, update, response,
dry-run, status
- `server/types/rest_spec/package_policy.ts` — bulk get, create, delete,
upgrade, dry-run schemas
- `server/types/rest_spec/epm.ts `— ~40 package management schemas
(categories, package info/list/stats, install/delete/bulk operations,
etc.)
- `server/types/rest_spec/agent.ts` — `action_id_response` /
`action_message_response` branches of `ActionIdOrMessageSchema`
(resolves items #1 and #2 of elastic#264565)

### Testing
Verified locally with:
```
node scripts/capture_oas_snapshot --no-serverless --include-path /api/fleet
node scripts/validate_oas_docs
node scripts/check_api_contracts --distribution stack
```

It looks like there are no Fleet errors left after this change but the
final verification step will be ran in the ci for Terraform

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant